using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using clf.weighing.entity;

namespace weighing
{

    /// <summary>
    /// 数据条数:0
    /// 数据大小:16KB
    /// </summary>


    public class MaterialVo : BaseVo
    {
        #region Constract
        public Material mMaterial;
        public MaterialVo(Material material)
        {
            mMaterial = material;
        }
        public MaterialVo() { }
        public override bool Equals(object obj)
        {
            if (obj == null || GetType() != obj.GetType())
            {
                return false;
            }
            if (obj is MaterialVo vo)
            {
                return vo.Id == Id;
            }
            return base.Equals(obj);
        }

        public override int GetHashCode()
        {
            return base.GetHashCode();
        }
        #endregion


        /// <summary>
        /// 可空:NO
        /// </summary>

        public Int64 Id
        {
            get { return mMaterial.id; }
            set { mMaterial.id = value; OnPropertyChanged(this, nameof(Id)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public String Name
        {
            get { return mMaterial.name; }
            set { mMaterial.name = value; OnPropertyChanged(this, nameof(Name)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public String FirstCase
        {
            get { return mMaterial.firstCase; }
            set { mMaterial.firstCase = value; OnPropertyChanged(this, nameof(FirstCase)); }
        }

        /// <summary>
        /// 注释:规格型号
        /// 可空:YES
        /// </summary>
        public String Specification
        {
            get
            {
                return mMaterial.specification;
            }
            set
            {
                mMaterial.specification = value;
                OnPropertyChanged(this, nameof(Specification));
            }
        }

        /// <summary>
        /// 注释:属性 1 企业 10政府
        /// 可空:NO
        ///默认值:1
        /// </summary>

        public Int32 Belong
        {
            get { return mMaterial.belong; }
            set { mMaterial.belong = value; OnPropertyChanged(this, nameof(Belong)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public Int64? CategoryId
        {
            get { return mMaterial.categoryId; }
            set { mMaterial.categoryId = value; OnPropertyChanged(this, nameof(CategoryId)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public String Description
        {
            get { return mMaterial.description; }
            set { mMaterial.description = value; OnPropertyChanged(this, nameof(Description)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public DateTime? Addtime
        {
            get { return mMaterial.addTime; }
            set { mMaterial.addTime = value; OnPropertyChanged(this, nameof(Addtime)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public Int64? AddUserId
        {
            get { return mMaterial.addUserId; }
            set { mMaterial.addUserId = value; OnPropertyChanged(this, nameof(AddUserId)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public String AddUserName
        {
            get { return mMaterial.addUserName; }
            set { mMaterial.addUserName = value; OnPropertyChanged(this, nameof(AddUserName)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public DateTime? UpdateTime
        {
            get { return mMaterial.updateTime; }
            set { mMaterial.updateTime = value; OnPropertyChanged(this, nameof(UpdateTime)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public Int64? UpdateUserId
        {
            get { return mMaterial.updateUserId; }
            set { mMaterial.updateUserId = value; OnPropertyChanged(this, nameof(UpdateUserId)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public String UpdateUserName
        {
            get { return mMaterial.updateUserName; }
            set { mMaterial.updateUserName = value; OnPropertyChanged(this, nameof(UpdateUserName)); }
        }

        /// <summary>
        /// 注释:状态 1 正常 0禁用
        /// 可空:YES
        ///默认值:1
        /// </summary>

        public Int32? Status
        {
            get { return mMaterial.status; }
            set { mMaterial.status = value; OnPropertyChanged(this, nameof(Status)); }
        }

        /// <summary>
        /// 可空:YES
        ///默认值:0
        /// </summary>

        public Int32? IsDelete
        {
            get { return mMaterial.isDelete; }
            set { mMaterial.isDelete = value; OnPropertyChanged(this, nameof(IsDelete)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public DateTime? DeleteTime
        {
            get { return mMaterial.deleteTime; }
            set { mMaterial.deleteTime = value; OnPropertyChanged(this, nameof(DeleteTime)); }
        }

        /// <summary>
        /// 可空:YES
        /// </summary>

        public Int64? SyncTime
        {
            get { return mMaterial.syncTime; }
            set { mMaterial.syncTime = value; OnPropertyChanged(this, nameof(SyncTime)); }
        }

        /// <summary>
        /// 注释:所属公司
        /// 可空:YES
        ///默认值:0
        /// </summary>

        public Int64? AffiliatedCompanyId
        {
            get { return mMaterial.affiliatedCompanyId; }
            set { mMaterial.affiliatedCompanyId = value; OnPropertyChanged(this, nameof(AffiliatedCompanyId)); }
        }

        /// <summary>
        /// 注释:初始库存
        /// 可空:NO
        ///默认值:0.000
        /// </summary>

        public Decimal Stone
        {
            get { return mMaterial.stone; }
            set { mMaterial.stone = value; OnPropertyChanged(this, nameof(Stone)); }
        }

        /// <summary>
        /// 注释:采购总数
        /// 可空:NO
        ///默认值:0.000
        /// </summary>

        public Decimal TotalBuy
        {
            get { return mMaterial.totalBuy; }
            set { mMaterial.totalBuy = value; OnPropertyChanged(this, nameof(TotalBuy)); }
        }

        /// <summary>
        /// 注释:销售总数
        /// 可空:NO
        ///默认值:0.000
        /// </summary>

        public Decimal TotalSale
        {
            get { return mMaterial.totalSale; }
            set { mMaterial.totalSale = value; OnPropertyChanged(this, nameof(TotalSale)); }
        }

        /// <summary>
        /// 注释:成本
        /// 可空:NO
        ///默认值:0.000
        /// </summary>

        public Decimal BuyMoney
        {
            get { return mMaterial.buyMoney; }
            set { mMaterial.buyMoney = value; OnPropertyChanged(this, nameof(BuyMoney)); }
        }

        /// <summary>
        /// 注释:销售额
        /// 可空:NO
        ///默认值:0.000
        /// </summary>

        public Decimal SaleMoney
        {
            get { return mMaterial.saleMoney; }
            set { mMaterial.saleMoney = value; OnPropertyChanged(this, nameof(SaleMoney)); }
        }


        public Boolean AllowInputSalePrice
        {
            get { return mMaterial.allowInputSalePrice; }
            set { mMaterial.allowInputSalePrice = value; OnPropertyChanged(this, nameof(AllowInputSalePrice)); }
        }
        public Boolean AllowInputBuyPrice
        {
            get { return mMaterial.allowInputBuyPrice; }
            set { mMaterial.allowInputBuyPrice = value; OnPropertyChanged(this, nameof(AllowInputBuyPrice)); }
        }
    }
}
